import { Tp_categoryValue } from '@/enumeration/Tp_category.js'
import { Tp_proctypeEnum, Tp_archivetypeEnum } from  '@/enumeration/Tp_proctype'
import { St_admreviewson } from '@/enumeration/St_admreviewson'

/********************************受理环节******************************** */
// 处理菜单
export let tabMenu = {}
// 条件上传材料环节
// 受理环节

tabMenu[Tp_categoryValue['accept']] = [
  {
    key: 'mater_mediate',
    label: '受理前调解',
    // btnLabel: '确认答复',
    btnLabel: '受理前调解处理',
    config: Tp_proctypeEnum.mater_mediate,
    categoryKey: 'mediate_upload'
  },
  // {
  //   key: 'accept_inform',
  //   label: '告知',
  //   btnLabel: '告知处理',
  //   config: Tp_proctypeEnum.accept_inform,
  //   categoryKey: 'inform_upload'
  // },
  {
    key: 'accept_result',
    label: '撤回',
    btnLabel: '撤回处理',
    config: Tp_proctypeEnum.accept_result,
    categoryKey: 'rollback_upload'
  },
  {
    key: 'accept_append',
    label: '补正',
    btnLabel: '补正处理',
    config: Tp_proctypeEnum.accept_append,
    categoryKey: 'append_upload'
  },
  {
    key: 'accept_accept',
    label: '受理',
    btnLabel: '受理处理',
    config: Tp_proctypeEnum.accept_accept,
    categoryKey: 'accept_upload'
  },
  {
    key: 'accept_noaccept',
    label: '不予受理',
    btnLabel: '不予受理处理',
    config: Tp_proctypeEnum.accept_noaccept,
    categoryKey: 'noaccept_upload'
  },
  {
    key: 'accept_change',
    label: '变更办案人员',
    btnLabel: '变更办案人员',
    config: Tp_proctypeEnum.accept_change_firstper,
    categoryKey: 'change_upload'
  }
]

tabMenu['accept_change'] = [
  {
    key: 'accept_change_firstper',
    label: '变更承办人',
    btnLabel: '变更承办人',
    config: Tp_proctypeEnum.accept_change_firstper,
    categoryKey: 'change_upload'
  },
  {
    key: 'accept_change_secondper',
    label: '变更协办人',
    btnLabel: '变更协办人',
    config: Tp_proctypeEnum.accept_change_secondper,
    categoryKey: 'change_upload'
  }
]

// 受理查看
tabMenu[Tp_categoryValue['acceptview']] = tabMenu[Tp_categoryValue['accept']]
// 受理前调解
tabMenu[Tp_categoryValue['mediate_upload']] = tabMenu[Tp_categoryValue['accept']]
// 受理告知
// tabMenu[Tp_categoryValue['inform_upload']] = tabMenu[Tp_categoryValue['accept']]
// 受理撤回
tabMenu[Tp_categoryValue['rollback_upload']] = tabMenu[Tp_categoryValue['accept']]
// 补正
tabMenu[Tp_categoryValue['append_upload']] = tabMenu[Tp_categoryValue['accept']]
// 受理
tabMenu[Tp_categoryValue['accept_upload']] = tabMenu[Tp_categoryValue['accept']]
// 不予受理
tabMenu[Tp_categoryValue['noaccept_upload']] = tabMenu[Tp_categoryValue['accept']]
// 其他处理
// tabMenu[Tp_categoryValue['acceptother_upload']] = tabMenu[Tp_categoryValue['accept']]
tabMenu[Tp_categoryValue['change_upload']] = tabMenu[Tp_categoryValue['accept']]




/**************************审理环节********************************************** */
// 受理后调解 - 审理调解
tabMenu[Tp_categoryValue['hear_mediate']] = [
  {
    key: 'hear_mediate',
    label: '受理后调解',
    btnLabel: '确认答复',
    config: Tp_proctypeEnum.hear_mediate
  },
]

// 审理环节
tabMenu[Tp_categoryValue['hear']] = [
  {
    key: 'hear_mediate',
    label: '调解',
    btnLabel: '调解申请',
    config: Tp_proctypeEnum.hear_mediate,
    categoryKey: 'mediate_afterupload'
  },
  {
    key: 'hear_trawl',
    label: '查阅复制',
    btnLabel: '查阅复制申请',
    config: Tp_proctypeEnum.hear_trawl,
    categoryKey: 'trawl_upload'
  },
  {
    key: 'hear_thirder',
    label: '新增第三人',
    btnLabel: '新增第三人申请',
    config: Tp_proctypeEnum.hear_thirder,
    categoryKey: 'thirder_upload'
  },
  {
    key: 'hear_transform',
    label: '程序转换',
    btnLabel: '程序转换申请',
    config: Tp_proctypeEnum.hear_transform,
    categoryKey: 'transform_upload'
  },
  {
    key: 'hear_survey',
    label: '调查',
    btnLabel: '调查申请',
    config: Tp_proctypeEnum.hear_survey,
    categoryKey: 'survey_upload'
  },
  // {
  //   key: 'hear_inquest',
  //   label: '勘验',
  //   btnLabel: '勘验申请',
  //   config: Tp_proctypeEnum.hear_inquest,
  //   categoryKey: 'inquest_upload'
  // },
  {
    key: 'hear_hearing',
    label: '听证',
    btnLabel: '听证申请',
    config: Tp_proctypeEnum.hear_hearing,
    categoryKey: 'hearing_upload'
  },
  // {
  //   key: 'hear_identify',
  //   label: '鉴定',
  //   btnLabel: '鉴定申请',
  //   config: Tp_proctypeEnum.hear_identify,
  //   categoryKey: 'identify_upload'
  // },
  {
    key: 'hear_stop',
    label: '停止执行',
    btnLabel: '停止执行申请',
    config: Tp_proctypeEnum.hear_stop,
    categoryKey: 'stop_upload'
  },
  // {
  //   key: 'hear_mobilize',
  //   label: '调卷',
  //   btnLabel: '调卷申请',
  //   config: Tp_proctypeEnum.hear_mobilize,
  //   categoryKey: 'mobilize_upload'
  // },
  {
    key: 'hear_delay',
    label: '延期',
    btnLabel: '延期申请',
    config: Tp_proctypeEnum.hear_delay,
    categoryKey: 'delay_upload'
  },
  // {
  //   key: 'hear_withdraw',
  //   label: '撤回',
  //   btnLabel: '撤回申请',
  //   config: Tp_proctypeEnum.hear_withdraw,
  //   categoryKey: 'withdraw_upload'
  // },
  {
    key: 'hear_rest',
    label: '中止',
    btnLabel: '中止申请',
    config: Tp_proctypeEnum.hear_rest,
    categoryKey: 'rest_upload'
  },
  {
    key: 'hear_decision',
    label: '决定',
    btnLabel: '决定申请',
    config: Tp_proctypeEnum.hear_decision,
    categoryKey: 'decision_upload'
  },
  {
    key: 'hear_change',
    label: '变更办案人员',
    btnLabel: '变更办案人员',
    config: Tp_proctypeEnum.hear_change_firtper,
    categoryKey: 'hear_change_upload'
  }
]

// 审理变更人员特殊情况
tabMenu['hear_change'] = [
  {
    key: 'hear_change_firtper',
    label: '变更承办人',
    btnLabel: '变更承办人',
    config: Tp_proctypeEnum.hear_change_firtper,
    categoryKey: 'hear_change_upload'
  },
  {
    key: 'hear_change_secondper',
    label: '变更协办人',
    btnLabel: '变更协办人',
    config: Tp_proctypeEnum.hear_change_secondper,
    categoryKey: 'hear_change_upload'
  }
]


/****************************归档环节*************************************************** */


// 审理环节-特殊环节-调查步骤 合并多个步骤项目, 内部子菜单 --- 审理调查 多环节
tabMenu['survey_inner'] = [
  {
    key: 'hear_mobilize',
    label: '调卷',
    btnLabel: '调卷申请',
    config: Tp_proctypeEnum.hear_mobilize,
    categoryKey: 'mobilize_upload'
  },
  {
    key: 'hear_advice',
    label: '听取意见',
    btnLabel: '',
    config: Tp_proctypeEnum.hear_advice,
    categoryKey: ''
  },
  {
    key: 'hear_survey',
    label: '调查',
    btnLabel: '调查申请',
    config: Tp_proctypeEnum.hear_survey,
    categoryKey: 'survey_upload'
  },
  {
    key: 'hear_identify',
    label: '鉴定',
    btnLabel: '鉴定申请',
    config: Tp_proctypeEnum.hear_identify,
    categoryKey: 'identify_upload'
  },
  {
    key: 'hear_expert',
    label: '专家论证',
    btnLabel: '专家论证申请',
    config: Tp_proctypeEnum.hear_expert,
    categoryKey: 'expert_upload'
  },
  {
    key: 'hear_inquest',
    label: '勘验',
    btnLabel: '勘验申请',
    config: Tp_proctypeEnum.hear_inquest,
    categoryKey: 'inquest_upload'
  }
]


// 其他环节都可以看到对应的环节菜单
// 查阅复制上传
tabMenu[Tp_categoryValue['trawl_upload']] = tabMenu[Tp_categoryValue['hear']]
// 调查上传
tabMenu[Tp_categoryValue['survey_upload']] = tabMenu[Tp_categoryValue['hear']]
// 勘验上传
tabMenu[Tp_categoryValue['inquest_upload']] = tabMenu[Tp_categoryValue['hear']]
// 听证上传
tabMenu[Tp_categoryValue['hearing_upload']] = tabMenu[Tp_categoryValue['hear']]
// 鉴定上传
tabMenu[Tp_categoryValue['identify_upload']] = tabMenu[Tp_categoryValue['hear']]
// 停止执行上传
tabMenu[Tp_categoryValue['stop_upload']] = tabMenu[Tp_categoryValue['hear']]
// 延期上传
tabMenu[Tp_categoryValue['delay_upload']] = tabMenu[Tp_categoryValue['hear']]
// 中止上传
tabMenu[Tp_categoryValue['rest_upload']] = tabMenu[Tp_categoryValue['hear']]
// 中止上传-恢复
tabMenu[Tp_categoryValue['restore_upload']] = tabMenu[Tp_categoryValue['hear']]
// 决定上传
tabMenu[Tp_categoryValue['decision_upload']] = tabMenu[Tp_categoryValue['hear']]
// 撤回上传
tabMenu[Tp_categoryValue['withdraw_upload']] = tabMenu[Tp_categoryValue['hear']]
// 调卷上传
tabMenu[Tp_categoryValue['mobilize_upload']] = tabMenu[Tp_categoryValue['hear']]
// 审理查看
tabMenu[Tp_categoryValue['hearview']] = tabMenu[Tp_categoryValue['hear']]
// 受理后调解
tabMenu[Tp_categoryValue['mediate_afterupload']] = tabMenu[Tp_categoryValue['hear']]
// 程序转换
tabMenu[Tp_categoryValue['transform_upload']] = tabMenu[Tp_categoryValue['hear']]
// 专家论证
tabMenu[Tp_categoryValue['expert_upload']] = tabMenu[Tp_categoryValue['hear']]
// 第三人新增
tabMenu[Tp_categoryValue['thirder_upload']] = tabMenu[Tp_categoryValue['hear']]
// 审理变更人员
tabMenu[Tp_categoryValue['hear_change_upload']] = tabMenu[Tp_categoryValue['hear']]
// 复用的定义变量


/*************************执行环节的菜单 历史版本*************************************** */


// tabMenu[Tp_categoryValue['executeview']] = [
//   {
//     key: 'execute_reminder',
//     label: '履行催告',
//     btnLabel: '履行催告申请',
//     config: Tp_proctypeEnum.execute_reminder,
//     categoryKey: 'reminder_upload'
//   },
//   {
//     key: 'execute_force',
//     label: '强制执行',
//     btnLabel: '强制执行申请',
//     config: Tp_proctypeEnum.execute_force,
//     categoryKey: 'force_upload'
//   },
//   {
//     key: 'execute_perform',
//     label: '责令履行',
//     btnLabel: '责令履行申请',
//     config: Tp_proctypeEnum.execute_perform,
//     categoryKey: 'perform_upload'
//   },
//   {
//     key: 'execute_punish',
//     label: '政务处分',
//     btnLabel: '政务处分申请',
//     config: Tp_proctypeEnum.execute_punish,
//     categoryKey: 'punish_upload'
//   }
// ]

// // 履行催告
// tabMenu[Tp_categoryValue['reminder_upload']] = tabMenu[Tp_categoryValue['executeview']]
// // 强制执行
// tabMenu[Tp_categoryValue['force_upload']] = tabMenu[Tp_categoryValue['executeview']]
// // 责令履行
// tabMenu[Tp_categoryValue['perform_upload']] = tabMenu[Tp_categoryValue['executeview']]
// // -政务处分
// tabMenu[Tp_categoryValue['punish_upload']] = tabMenu[Tp_categoryValue['executeview']]

// // 履行催告
// export const reminder_uploadProctype = {
//   key: 'execute_reminder',
//   label: '履行催告',
//   btnLabel: '履行催告申请',
//   config: Tp_proctypeEnum.execute_reminder,
//   categoryKey: 'reminder_upload'
// }
// // 强制执行
// export const force_uploadProctype = {
//   key: 'execute_force',
//   label: '强制执行',
//   btnLabel: '强制执行申请',
//   config: Tp_proctypeEnum.execute_force,
//   categoryKey: 'force_upload'
// }
// // 责令履行
// export const perform_uploadProctype = {
//   key: 'execute_perform',
//   label: '责令履行',
//   btnLabel: '责令履行申请',
//   config: Tp_proctypeEnum.execute_perform,
//   categoryKey: 'perform_upload'
// }
// // 政务处分
// export const punish_uploadProctype =   {
//   key: 'execute_punish',
//   label: '政务处分',
//   btnLabel: '政务处分申请',
//   config: Tp_proctypeEnum.execute_punish,
//   categoryKey: 'punish_upload'
// }

/*************************执行环节的菜单 历史版本*************************************** */

/*************************执行环节的菜单 新版本***************************************** */
tabMenu[Tp_categoryValue['executeview']] = [
  {
    key: 'execute_self',
    label: '自行履行',
    btnLabel: '',
    config: Tp_proctypeEnum.execute_self,
    categoryKey: 'reminder_upload'
  },
  {
    key: 'execute_perform',
    label: '责令履行',
    btnLabel: '责令履行申请',
    config: Tp_proctypeEnum.execute_perform,
    categoryKey: 'perform_upload'
  },
  {
    key: 'execute_force',
    label: '强制执行',
    btnLabel: '强制执行申请',
    config: Tp_proctypeEnum.execute_force_unit,
    categoryKey: 'force_upload'
  }
]

// 执行环节-特殊环节-强制执行步骤 合并多个步骤项目, 内部子菜单 ---强制执行 多环节
tabMenu['force_inner'] = [
  {
    key: 'execute_force_unit',
    label: '复议机关强制执行',
    btnLabel: '复议机关强制执行申请',
    config: Tp_proctypeEnum.execute_force_unit,
    categoryKey: 'force_upload'
  },
  {
    key: 'execute_force_law',
    label: '委托人民法院强制执行',
    btnLabel: '委托人民法院强制执行申请',
    config: Tp_proctypeEnum.execute_force_law,
    categoryKey: 'force_upload'
  }
]


// 履行催告
tabMenu[Tp_categoryValue['reminder_upload']] = tabMenu[Tp_categoryValue['executeview']]
// 强制执行
tabMenu[Tp_categoryValue['force_upload']] = tabMenu[Tp_categoryValue['executeview']]
// 责令履行
tabMenu[Tp_categoryValue['perform_upload']] = tabMenu[Tp_categoryValue['executeview']]
// -政务处分
tabMenu[Tp_categoryValue['punish_upload']] = tabMenu[Tp_categoryValue['executeview']]

// 履行催告
// export const reminder_uploadProctype = {
//   key: 'execute_reminder',
//   label: '履行催告',
//   btnLabel: '履行催告申请',
//   config: Tp_proctypeEnum.execute_reminder,
//   categoryKey: 'reminder_upload'
// }
// // 强制执行
// export const force_uploadProctype = {
//   key: 'execute_force',
//   label: '强制执行',
//   btnLabel: '强制执行申请',
//   config: Tp_proctypeEnum.execute_force,
//   categoryKey: 'force_upload'
// }
// // 责令履行
// export const perform_uploadProctype = {
//   key: 'execute_perform',
//   label: '责令履行',
//   btnLabel: '责令履行申请',
//   config: Tp_proctypeEnum.execute_perform,
//   categoryKey: 'perform_upload'
// }
// // 政务处分
// export const punish_uploadProctype =   {
//   key: 'execute_punish',
//   label: '政务处分',
//   btnLabel: '政务处分申请',
//   config: Tp_proctypeEnum.execute_punish,
//   categoryKey: 'punish_upload'
// }



/*************************决定环节的菜单 新版本***************************************** */

// 审理环节 - 中止恢复，后续需要调整新增
export const hear_restoreProctype = {
  key: 'hear_restore',
  label: '中止恢复',
  btnLabel: '中止恢复申请',
  config: Tp_proctypeEnum.hear_restore,
  categoryKey: 'restore_upload'
}


/**
 *  审理环节-特殊环节-调查步骤 涉及到的流程变量
 */
export const survey_category = [
  'survey_upload',
  'inquest_upload',
  'mobilize_upload',
  'identify_upload',
  'expert_upload'
]

/**
 * 决定环节的 流程变量定义
 */
export const execute_category = [
  'reminder_upload',
  'force_upload',
  'perform_upload',
  'punish_upload'
]



// 受理环节的标识
export const apply_category_array = [
  Tp_categoryValue['mediate_upload'], // 受理前调解
  Tp_categoryValue['inform_upload'], //  受理告知
  Tp_categoryValue['rollback_upload'], // 受理撤回
  Tp_categoryValue['accept_upload'], // 受理
  Tp_categoryValue['noaccept_upload'], // 不予受理
  Tp_categoryValue['append_upload'], // 补正
  Tp_categoryValue['acceptview'], // 受理查看
  Tp_categoryValue['accept'], // 受理父流程
  // Tp_categoryValue['acceptother_upload'] // 其他处理
  Tp_categoryValue['change_upload'] // 变更办案人员
]


// 执行环节的标识
export const execute_category_array = [
  Tp_categoryValue['executeview'], // 归档查看
  Tp_categoryValue['execute_self'], // 自行履行申请
  Tp_categoryValue['execute_force_unit'], // 复议机关强制执行
  Tp_categoryValue['execute_perform'], // 责令履行申请
  Tp_categoryValue['execute_force_law'] // 委托人民法院强制执行

]
/**
 * 获取当前是受理还是审理环节
 */
export function getCategoryType(category) {
  // 判断当前是什么环节： 受理还是审理
  if (apply_category_array.includes(category)) {
    return 'accept' // 受理
  } else if (execute_category_array.includes(category)) {
    return 'execute' // 执行
  }
  return 'hear' // 审理
}